#ifndef MATRIX_4
#define MATRIX_4

namespace sleek
{
    namespace core
    {
        namespace math
        {
            template<typename T>
            class matrix4
            {
                public:
                    matrix4()
                    {
                        matrice = new T[4*4];
                        memset(matrice, 0, 4*4);
                    }
                    T operator [] (u32 i)
                    {
                        return matrice[i];
                    }
                    ~matrix4()
                    {
                        delete [] matrice;
                    }
                public:
                    T *matrice;
            };
            typedef matrix4<u8>  matrix4c;
            typedef matrix4<f32> matrix4f;
            typedef matrix4<int> matrix4i;
            typedef matrix4<u32> matrix4u;
            typedef matrix4<s32> matrix4s;
        }
    }
}

#endif

